package 力扣._49_字母异位词分组;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

public class Solution3 {
    public List<List<String>> groupAnagrams(String[] strs) {
        // 使用单词的分布作为key
        HashMap<String, List<String>> map = new HashMap<>();
        for (String str : strs) {
            int[] c  = new int[26];
            for (int i = 0; i < str.length(); i++) {
                c[str.charAt(i)-'a'] ++;
            }
            String key = Arrays.toString(c);
            if(map.containsKey(key)){
                List<String> list = map.get(key);
                list.add(str);
            }else{
                List<String> list = new ArrayList<>();
                list.add(str);
                map.put(key,list);
            }
        }
        return map.values().stream().toList();
    }
}
